package com.xuxueli.applyModules.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Setter
@Getter
public class PeoplePara implements Serializable {

    private static final long serialVersionUID = 1L;

    @Pattern(regexp = "\\d{14}|\\d{17}[\\dxX]", message = "身份证号格式不正确")
    private String sid;

    /**
     * persion_id
     */
    @NotNull(message="用户组id不能为空！")
    @Pattern(regexp = "^[0-9]*${0,2}",message = "用户组id必须为数字,整数位最大2位,小数最大0位!")
    //@Pattern(regexp = "^[0-9]{0,2}+\\.[0-9]{0,3}$",message = "用户组id必须为数字,整数位最大2位,小数最大0位!")
    //@Digits(integer = 2, fraction = 0, message = "用户组id必须为数字,整数位最大2位,小数最大0位!")
    private String persionId;
    /**
     * persion_id
     */
    @NotNull(message="金额不能为空！")
    @Digits(integer = 2, fraction = 2, message = "金额必须为数字,整数位最大2位,小数最大2位!")
    private BigDecimal amount;
    /**
     * 第一位名称
     */
    @NotBlank(message="第一位名称不能为空！")
    //@Size(min = 2, max = 10, message = "第一位名称长度不正确")
    @Min(value = 2,message = "第一位名称长度最小2位(一个汉字占2位)")
    @Max(value = 10,message = "第一位名称长度最大不能超过10位(一个汉字占2位)")
    private String firstName;

    /**
     * 最后一位名称
     */
    private String lastName;

    /**
     * 申报日期
     */
    @ApiModelProperty("申报日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date declareDate;
}
